/* 
 * File:   main.cpp
 * Author: jimena2
 *
 * Created on 28 de mayo de 2011, 12:44 PM
 */

#include <cstdlib>
#include <stdio.h>
#include <string.h>
#include "../controladores/CJugador.h"
#include "../interfacesCol/ICollection.h"
#include "../interfacesCol/IIterator.h"
#include "../dataTypes/String.h"

using namespace std;

int main(){
        int n;
        cout<<"Ingrese 1 para registrar un usuario \n";
        cout<<"Ingrese 2 para ver el perfil de un usuario \n";
        cout<<"Ingrese 3 para crear mapa \n";
        cout<<"Ingrese 4 para ver un mapa \n";
        cout<<"Ingrese 5 para eliminar un mapa \n";
        cout<<"Ingrese 6 para crear un tipo de unidad \n";
        cout<<"Ingrese 7 para crear una partida \n";
        cout<<"Ingrese 8 para ver datos de una partida en curso \n";
        cout<<"Ingrese 9 para jugar un turno de una partida \n";
        cout<<"Ingrese 10 para salir \n";
        cin>>n;

    



    while(n != 10){
        switch (n) {
            case 1:{
                 CJugador* cj;
                 cj = cj->getInstancia();
                 cout<<"Ingrese el nombre del jugador que desea crear : \n";
                 char* nom = new char[256];
                 cin>>nom;
                 int strSize = strlen(nom);
                 nom = strcpy(new char[strSize+1], nom);
                 cout<<"Ingrese la fecha de nacimiento del jugador ";
                 cout<<"con el formato dd/mm/aaaa: \n";
                 Fecha f;
                 cin>>f;
                 cout<<"Ingrese el mail del jugador : \n";
                 char* mail = new char[256];
                 cin>>mail;
                 strSize = strlen(mail);
                 mail = strcpy(new char[strSize+1], mail);
                 cout<<"Ingrese la nacionalidad del jugador : \n";
                 char* nac = new char[256];
                 cin>>nac;
                 strSize = strlen(nac);
                 nac = strcpy(new char[strSize+1], nac);
                 cout<<"Ingrese el sexo del jugador (femenino o masculino) : \n";
                 char* sex = new char[12];
                 cin>>sex;
                 bool esMasculino;
                 if(strcmp(sex,"masculino") == 0)
                     esMasculino = true;
                 else
                     if(strcmp(sex,"femenino") == 0)
                         esMasculino = false;

                 cj->registrarUsuario(nom,mail,f,nac, esMasculino);


                break;
            };
             case 2:{
                CJugador* cj;
                cj = cj->getInstancia();
                ICollection* lMails;
                lMails = cj->listarMails();

                IIterator *it = lMails->getIterator();
                if(!it->hasCurrent())
                    cout<<"No hay jugadores registrados en InConquest.\n";
                else{
                     cout<<"Jugadores : \n ";
                    while (it->hasCurrent()){
                        String* s = dynamic_cast <String*>(it->getCurrent());
                        cout<<"email: ";
                        cout<<s->getElemento();
                        cout<<"\n";
                        it->next();

                    }
                    cout<<"Elegir un usuario: ";
                    char* email = new char[256];
                    cin>>email;
             }
                
                break;
            };
            case 3:{//crear mapa
                cout<<"Ingrese el nombre de un mapa que desea crear \n";
                break;

            };
            case 4:{//ver mapa

              break;
            };
            case 5:{
                 cout<<"Funcion no disponible en el sistema \n";
                break;
            };
            case 6:{
                 cout<<"Funcion no disponible en el sistema \n";
                break;
            };
            case 7:{
                 cout<<"Funcion no disponible en el sistema \n";
                break;
            };
            case 8:{
                 cout<<"Funcion no disponible en el sistema \n";
                break;
            };
            case 9:{
                 cout<<"Funcion no disponible en el sistema \n";
                break;
            };
        }
        cout<<"Ingrese 1 para registrar un usuario \n";
        cout<<"Ingrese 2 para ver el perfil de un usuario \n";
        cout<<"Ingrese 3 para crear mapa \n";
        cout<<"Ingrese 4 para ver un mapa \n";
        cout<<"Ingrese 5 para eliminar un mapa \n";
        cout<<"Ingrese 6 para crear un tipo de unidad \n";
        cout<<"Ingrese 7 para crear una partida \n";
        cout<<"Ingrese 8 para ver datos de una partida en curso \n";
        cout<<"Ingrese 9 para jugar un turno de una partida \n";
        cout<<"Ingrese 10 para salir \n";
        cin>>n;
    }

    return 0;
}

